#if !defined(ximera_scripting_lua_plugin_hpp)
#define ximera_scripting_lua_plugin_hpp

// -----------------------------------------------------------

#include <ximera/system/isystemplugin.hpp>
#include <ximera/scripting/lua/scriptingsystem.hpp>

namespace ximera { namespace scripting { namespace lua
{
    class XIMERA_PLUGIN_API Plugin : public system::ISystemPlugin
    {
    public:
        virtual ~Plugin();

        virtual String name() const;
        virtual String description() const;
        virtual String version() const;
        
        virtual system::ISystem* createSystem(system::Application& app);

    private:
        String _name;
        String _description;
        String _version;

        Plugin();

    public:
        static IPlugin* getInstance();

    private:
        static Plugin* _instance;
    };
}}}

// -----------------------------------------------------------

#endif